﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevExpress.XtraTab;
using DBBase;

using System.Security;
using System.Security.Cryptography;
using System.Text.RegularExpressions;


using System.Web;
using System.Runtime.InteropServices;
using System.IO;
using System.Data.OleDb;
using System.Data.SqlClient;


namespace Business
{
    public partial class MainForm : DevExpress.XtraEditors.XtraForm
    {
        public string adly;
        public string yhjs;//用户角色

        public MainForm(string sright,string dly,string ip,string syhjs)
        {
            
            InitializeComponent();
            yhjs = syhjs;
            sname = dly;
            adly = dly;
            sIP = ip;
            Security_activation.Visible = true;//
        }
        public string sIP = "";
        public void saveriji(string sql)
        {
            
                string syhxm = sname;
                string sneirong = "";
                string sczlx = "";
                string sgnmk = "";
                string cztj = "";
                if (sql.Contains("Autos"))
                {
                    if (sql.Contains("insert") || sql.Contains("INSERT") || sql.Contains("Insert"))
                    {
                        sneirong = string.Format("{0}写入车辆登录信息", sname);
                        sczlx = "写入";
                        sgnmk = "检测业务办理";
                    }
                    else if (sql.Contains("update") || sql.Contains("UPDATE") || sql.Contains("Update"))
                    {
                        sneirong = string.Format("{0}修改车辆登录信息", sname);
                        sczlx = "修改";
                        sgnmk = "检测业务办理";
                    }
                }
                else if (sql.Contains("StationInfor"))
                {
                    if (sql.Contains("insert") || sql.Contains("INSERT") || sql.Contains("Insert"))
                    {
                        sneirong = string.Format("{0}写入检测站基本信息", sname);
                        sczlx = "写入";
                        sgnmk = "系统管理模块";
                    }
                    else if (sql.Contains("update") || sql.Contains("UPDATE") || sql.Contains("Update"))
                    {
                        sneirong = string.Format("{0}修改检测站基本信息", sname);
                        sczlx = "修改";
                        sgnmk = "系统管理模块";
                    }
                }
                else if (sql.Contains("table_cllx") || sql.Contains("table_csys") || sql.Contains("table_hpzl") )
                {
                    if (sql.Contains("insert") || sql.Contains("INSERT") || sql.Contains("Insert"))
                    {
                        sneirong = string.Format("{0}写入车型基本信息", sname);
                        sczlx = "写入";
                        sgnmk = "系统管理模块";
                    }
                    else if (sql.Contains("update") || sql.Contains("UPDATE") || sql.Contains("Update"))
                    {
                        sneirong = string.Format("{0}修改车型基本信息", sname);
                        sczlx = "修改";
                        sgnmk = "系统管理模块";
                    }
                }

                string sneirongsql = EncodeBase64("utf-8",sql);
                sql = string.Format(@"insert into riji(RJ_YHXM,RJ_DATE,RJ_neirong,RJ_IP,RJ_CZLX,RJ_CZJG,RJ_GNKK,RJ_CZTJ,RJ_NRMS) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}')", syhxm, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), sneirong, sIP, sczlx, "成功", sgnmk, cztj, sneirongsql);
                Query objquery = new Query();
                objquery.UpdateTable(sql);
            
        }
        public void savecaozuoriji(string sql, string sczlx, string sgnmk, string sneirong)//保存操作日志， 操作类型，工况模块 内容
        {

            string sneirongsql = EncodeBase64("utf-8", sql);
            sql = string.Format(@"insert into riji(RJ_YHXM,
                                                    RJ_DATE,
                                                    RJ_neirong,
                                                    RJ_IP,
                                                    RJ_CZLX,
                                                    RJ_CZJG,
                                                    RJ_GNKK,
                                                    RJ_CZTJ,
                                                    RJ_NRMS) values(
                                                    '{0}',
                                                    '{1}',
                                                    '{2}',
                                                    '{3}',
                                                    '{4}',
                                                    '{5}',
                                                    '{6}',
                                                    '{7}',
                                                    '{8}')",
                                                    sname, 
                                                    DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), 
                                                    sneirong, 
                                                    sIP, 
                                                    sczlx, 
                                                    "成功", 
                                                    sgnmk, 
                                                    "", 
                                                    sneirongsql);
            Query objquery = new Query();
            objquery.UpdateTable(sql);
        }
        ///编码
        public  string EncodeBase64(string code_type, string code)
        {
            string encode = "";
            byte[] bytes = Encoding.GetEncoding(code_type).GetBytes(code);
            try
            {
                encode = Convert.ToBase64String(bytes);
            }
            catch
            {
                encode = code;
            }
            return encode;
        }
        ///解码
        public  string DecodeBase64(string code_type, string code)
        {
            string decode = "";
            byte[] bytes = Convert.FromBase64String(code);
            try
            {
                decode = Encoding.GetEncoding(code_type).GetString(bytes);
            }
            catch
            {
                decode = code;
            }
            return decode;
        }
        public string shxgn = "";//核心功能
        public string sfjy = "";//是否警员
        public string SFMJ;//用户是否民警
        public string squanxian = "";
        public void IniRight(string syhjs)
        {
            Query mquery = new Query();
            var sql = "";
            //获取所有核心功能
            sql = string.Format(@"Select * From mokuaiquanxian where qx_hxgn='是'");
            DataTable dt = mquery.GetTable(sql);
            shxgn = "";
            sfjy = "";
            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    shxgn = shxgn + dt.Rows[i]["qx_name"].ToString().Trim() + ",";
                }
            }

            sql = string.Format(@"Select * From mokuaiquanxian where qx_jingyuan='是'");
            dt = mquery.GetTable(sql);
          
            sfjy = "";
            if (dt.Rows.Count > 0)
            {
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    sfjy = sfjy + dt.Rows[i]["qx_name"].ToString().Trim() + ",";
                }
            }

            //

            //查询角色权限
           
            sql = string.Format(@"Select * From USERE where  YHLB='{0}'", sname);
            var JSLX = "";
            JSLX = mquery.GetDBString(sql, "JSLX");
            //需要改用户是否为警员
            SFMJ = "";
            SFMJ = mquery.GetDBString(sql, "SFMJ");
            sql = string.Format(@"Select * From juesequanxian where jsqx_jsmc='{0}' and jsqx_jslx='{1}' ", JSLX, yhjs);

            
            squanxian = mquery.GetDBString(sql, "jsqx_qx");
            
            //车辆登录
            SecurityCheck.Visible = false;
            OutTable.Visible = false;
            //用户权限
            AddUsers.Visible = false;
            EditUser.Visible = false;
            RolePermissions.Visible = false;
            PermissionsAttributes.Visible = false;
            juesequanxian.Visible = false;
            //标准管理
            LimitHB.Visible = false;
            LimitZJ.Visible = false;
            LimitAJ.Visible = false;
            //系统管理
            Init.Visible = false;
            navBarItem8.Visible = false;
            navBarItem13.Visible = false;
            Threshold.Visible = false;
            Resource.Visible = false;
            SystemParameters.Visible = false;
            Interface.Visible = false;
            Configuration.Visible = false;
            NormalOperation.Visible = false;
            //安检数据统计管理
            DriverStatistics.Visible = false;
            VehicleType.Visible = false;
            TestCategories.Visible = false;
            TestItems.Visible = false;
            area.Visible = false;
            TestLine.Visible = false;
            Danger.Visible = false;
            TerminalEquipment.Visible = false;
            Department.Visible = false;
            //检测机构信息
            jcjgba.Visible = false;
            jcxxx.Visible = false;
            jyxm.Visible = false;
            navBarItem22.Visible = false;
            TestCategory.Visible = false;
            OutInspection.Visible = false;
            TimEsynchronous.Visible = false;
            Encryption.Visible = false;
            personnel.Visible = false;
            Business18C06.Visible = false;
            //日志查询
            SecurityLog.Visible = false;
            CoreFunction.Visible = false;
            SecurityAudit.Visible = false;
            Business.Visible = false;
            ImportantData.Visible = false;
            OperationLog.Visible = false;
            jianceguocheng.Visible = false;

            WriteLog.Visible = false;
            QueryLog.Visible = false;
            //安全审计
            Audit_Security.Visible = false;
            Audit_Core.Visible = false;
            Audit_Management.Visible = false;
            //日记修改
            Modify_Security.Visible = false;
            Modify_Core.Visible = false;
            //安全管理
            Security_activation.Visible = false;
            Security_Unlock.Visible = false;
            Security_Terminal.Visible = false;
            Security_Cancel.Visible = false;

            
            if (syhjs.Contains("系统管理"))
            {
                //用户权限
                AddUsers.Visible = true;
                EditUser.Visible = true;
                RolePermissions.Visible = true;
                PermissionsAttributes.Visible = true;
                juesequanxian.Visible = true;

                //系统管理
                Init.Visible = true;
                navBarItem8.Visible = true;
                navBarItem13.Visible = true;
                Threshold.Visible = true;
                Resource.Visible = true;
                SystemParameters.Visible = true;
                Interface.Visible = true;
                Configuration.Visible = true;
                NormalOperation.Visible = true;

                TerminalEquipment.Visible = true;
                Department.Visible = true;
               


            }
            else if (syhjs.Contains("安全管理"))
            {
                //日志查询//问题fwj
                //SecurityLog.Visible = true;
                
                //SecurityAudit.Visible = true;
                //OperationLog.Visible = true;
            
                //安全管理
                if (squanxian.Contains("激活用户"))
                {
                    Security_activation.Visible = true;//
                }
                 if (squanxian.Contains("解锁用户"))
                {
                    Security_Unlock.Visible = true;
                }
                 if (squanxian.Contains("终端解锁"))
                {
                    Security_Terminal.Visible = true;
                }
                 if (squanxian.Contains("用户注销"))
                {
                    Security_Cancel.Visible = true;
                }


            }
            else if (syhjs.Contains("审计"))
            {
                SecurityLog.Visible = true;

                SecurityAudit.Visible = true;
                OperationLog.Visible = true;
                //安全审计
                if (squanxian.Contains("安全审计"))
                {
                    Audit_Security.Visible = true;

                    Audit_Management.Visible = true;
                }
                 if (squanxian.Contains("核心功能审计"))
                {
                    Audit_Core.Visible = true;
                    Modify_Core.Visible = true;//日记核心功能日志
                }
                 if (squanxian.Contains("安全日志查询"))
                {
                    //日记修改
                    Modify_Security.Visible = true;
                }
                 if (squanxian.Contains("异常操作预警"))
                {

                }
                 if (squanxian.Contains("接口日志查询"))
                {
                    WriteLog.Visible = true;
                    QueryLog.Visible = true;
                }
            }
            else if (syhjs.Contains("业务"))
            {

                if (squanxian.Contains("检测数据查询"))
                {

                }
                 if (squanxian.Contains("查验数据查询"))
                {

                }
                 if (squanxian.Contains("检测预警管理"))
                {

                }
                 if (squanxian.Contains("检测数据统计"))
                {
                    //安检数据统计管理
                    DriverStatistics.Visible = true;
                    VehicleType.Visible = true;
                    TestCategories.Visible = true;
                    TestItems.Visible = true;
                    area.Visible = true;
                    TestLine.Visible = true;
                    Danger.Visible = true;
                }
                 if (squanxian.Contains("检测过程查询"))
                {
                    jianceguocheng.Visible = true;
                }
                 if (squanxian.Contains("检测收费管理"))
                {

                }
                 if (squanxian.Contains("车辆登录"))
                {
                    SecurityCheck.Visible = true;//安检
                }
                 if (squanxian.Contains("车辆出表"))
                {
                    OutTable.Visible = true; ;
                }
                 if (squanxian.Contains("时间同步"))
                {
                    TimEsynchronous.Visible = true; ;
                }
                 if (squanxian.Contains("检测合格标准查看"))
                {
                    //标准管理
                    LimitHB.Visible = true;
                    LimitZJ.Visible = true;
                    LimitAJ.Visible = true;
                }
                 if (squanxian.Contains("检测类别管理"))
                {
                    TestCategory.Visible = true;
                }
                 if (squanxian.Contains("外检项目定义"))
                {
                    OutInspection.Visible = true;
                }
                 if (squanxian.Contains("检验项目信息下载"))
                {
                    jyxm.Visible = true;
                }
                 if (squanxian.Contains("检测线备案信息下载"))
                {
                    jcxxx.Visible = true;
                }
               //  if (squanxian.Contains("检测机构备案信息下载"))
                {
                    jcjgba.Visible = true;
                    personnel.Visible = true;
                    Business18C06.Visible = true;
                }






            }
        }

        public string decode(string str)//utf8转中文
        {
            Encoding utf8 = Encoding.UTF8;
            // 首先用utf-8进行解码                    
            return HttpUtility.UrlDecode(str.ToUpper(), utf8);
        }
        private string Encryptiondata(string express)//加密
        {
            CspParameters param = new CspParameters();
            param.KeyContainerName = "gzwk2006";
            using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param))
            {
                byte[] plaindate = Encoding.Default.GetBytes(express);
                byte[] encryptdate = rsa.Encrypt(plaindate, false);

                return Convert.ToBase64String(encryptdate);
            }
        }
        public void baocunaqrj(string shijian, string leixing, string mokuai, string hengxin, string feichanggui, string jieguo, string miaoshu)//事件、类型（增、删、该、查）、模块、是否核心功能、是否非常规业务、结果和描述
        {
            try
            {
                Query objquery = new Query();
                string ssql = "";
                ssql = string.Format(@"insert into anquanriji ([aqrj_yh]
                                      ,[aqrj_sj]
                                      ,[aqrj_yhip]
                                      ,[aqrj_yhlx]
                                      ,[aqrj_date]
                                      ,[aqrj_mokuai]
                                      ,[aqrj_sfhx]
                                      ,[aqrj_sffcg]
                                      ,[aqrj_jg]
                                      ,[aqrj_miaoshu]) values 
                                    ('{0}',
                                    '{1}',
                                    '{2}',
                                    '{3}',
                                    '{4}',
                                     '{5}',
                                     '{6}',
                                     '{7}',
                                     '{8}',
                                     '{9}')",
                                        sname,
                                        shijian,
                                        sIP,
                                        leixing,
                                        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                                        mokuai,
                                        hengxin,
                                        feichanggui,
                                        jieguo,
                                        Encryptiondata(miaoshu));
                if (!objquery.UpdateTable(ssql))
                {
                   // MessageBox.Show("添加失败");
                }
            }
            catch (Exception)
            {
            }

        }
        public void baocunhxrj(string saqcl, string srjnr, string leixing)// 核心功能日记 用户名 日记内容 类型（增、删、该、查）
        {
            baocunaqrj(saqcl, leixing, "核心功能", "是", "否", "成功", srjnr);//事件、类型（增、删、该、查）、模块、是否核心功能、是否非常规业务、结果和描述

        }

        public void baocundlrj(string syonghuming, string dllx, string sfcg, string dljg)//登录日志 用户明 登录类型 是否成功
        {
            Query objquery = new Query();
            string ssql = "";

            ssql = string.Format(@"insert into dengluriji (username,dengluIP,dlqk,dlsj,dlsfcg,dljg) values 
                                    ('{0}',
                                    '{1}',
                                    '{2}',
                                    '{3}',
                                    '{4}',
                                    '{5}')",
                                    syonghuming,
                                    sIP,
                                    dllx,
                                    DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
                                    sfcg,
                                    dljg);
            if (!objquery.UpdateTable(ssql))
            {
                MessageBox.Show("添加失败");
            }
        }

        private string EncryptionData(string express)//加密
        {
            CspParameters param = new CspParameters();
            param.KeyContainerName = "gzwk2006";
            using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(param))
            {
                byte[] plaindate = Encoding.Default.GetBytes(express);
                byte[] encryptdate = rsa.Encrypt(plaindate, false);

                return Convert.ToBase64String(encryptdate);
            }
        }
        anjianlogin ajl;
        public void denglu(string shphm, string shpzl,string lb)
        {
            bool bbz = false;
            for (int i = 0; i < this.xtraTabControl1.TabPages.Count; i++)
            {
                if (this.xtraTabControl1.TabPages[i].Text == "安检登录")
                {
                    this.xtraTabControl1.SelectedTabPageIndex = i;//TabPages[i].scou
                    bbz = true;
                    break;
                }
            }
            if (!bbz)
            {
                //anjianlogin fr = new anjianlogin(adly);//新窗体
                ajl = new anjianlogin(adly);
                ajl.m_mainform = this;
                //fr.ShowDialog();
                DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
                page.Name = "SecurityCheck";//定义name
                page.Text = "安检登录";//定义要显示的text
                ajl.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
                ajl.Dock = DockStyle.Fill;
                ajl.Show();//显示form插窗体
                page.Controls.Add(ajl);//在page页面添加一个控件，这里就是form窗体
                this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
                this.xtraTabControl1.SelectedTabPage = page;
            }
            ajl.getchaxun(shphm, shpzl); 
        }
        private void SecurityCheck_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            bool bbz = false;
            for (int i = 0; i < this.xtraTabControl1.TabPages.Count; i++)
            {
                if (this.xtraTabControl1.TabPages[i].Text == "安检登录")
                {
                    this.xtraTabControl1.SelectedTabPageIndex=i;//TabPages[i].scou
                    bbz = true;
                    break;
                }
            }
            if (!bbz)
            {
                //anjianlogin fr = new anjianlogin(adly);//新窗体
                ajl = new anjianlogin(adly);
                ajl.m_mainform = this;
                //fr.ShowDialog();
                DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
                page.Name = "SecurityCheck";//定义name
                page.Text = "安检登录";//定义要显示的text
                ajl.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
                ajl.Dock = DockStyle.Fill;
                ajl.Show();//显示form插窗体
                page.Controls.Add(ajl);//在page页面添加一个控件，这里就是form窗体
                this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
                this.xtraTabControl1.SelectedTabPage = page;
            }
        }

        private void xtraTabControl1_DoubleClick(object sender, EventArgs e)
        {
            xtraTabControl1.TabPages.Remove(this.xtraTabControl1.SelectedTabPage);
        }

        private void xtraTabControl1_MouseDown(object sender, MouseEventArgs e)
        {


            if (e.Button == MouseButtons.Right)
            {
                xtraTabControl1.ContextMenuStrip = null;

                //TreeListHitInfo hInfo = treeList1.CalcHitInfo(new Point(e.X, e.Y));
                //TreeListNode node = hInfo.Node;
                //treeList1.FocusedNode = node;

                xtraTabControl1.ContextMenuStrip = contextMenuStrip1;

            }
        }

        private void 关闭当前页ToolStripMenuItem_Click(object sender, EventArgs e)
        {


            string name = xtraTabControl1.SelectedTabPage.Text;//得到关闭的选项卡的text
            foreach (XtraTabPage page in xtraTabControl1.TabPages)//遍历得到和关闭的选项卡一样的Text
            {
                if (page.Text == name)
                {
                    xtraTabControl1.TabPages.Remove(page);
                    page.Dispose();
                    return;
                }
            }
        }

        private void 关闭其它页ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            int index = xtraTabControl1.SelectedTabPageIndex;//得到关闭的选项卡的索引
            for (int i = xtraTabControl1.TabPages.Count - 1; i > 0; i--)
            {
                if (i != index) 
                {
                    xtraTabControl1.TabPages.RemoveAt(i);
                    
                }
            }
        }

        private void 关闭所有面ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            for (int i = xtraTabControl1.TabPages.Count - 1; i > 0; i--)
            {
                xtraTabControl1.TabPages.RemoveAt(i);
               // xtraTabControl.TabPages[i].Dispose();
            }
        }

        private void xtraTabControl1_CloseButtonClick(object sender, EventArgs e)
        {
            xtraTabControl1.TabPages.Remove(this.xtraTabControl1.SelectedTabPage);
        }

       
        private Size beforeResizeSize = Size.Empty;
        protected override void OnResizeBegin(EventArgs e)
        {
            /*base.OnResizeBegin(e);
            beforeResizeSize = this.Size;*/
        }
        protected override void OnResizeEnd(EventArgs e)
        {
            /*
            base.OnResizeEnd(e);
            //窗口resize之后的大小
            Size endResizeSize = this.Size;
            //获得变化比例
            float percentWidth = (float)endResizeSize.Width / beforeResizeSize.Width;
            float percentHeight = (float)endResizeSize.Height / beforeResizeSize.Height;
            foreach (Control control in this.Controls)
            {
                if (control is DataGridView)
                    continue;
                //按比例改变控件大小
                control.Width = (int)(control.Width * percentWidth);
                control.Height = (int)(control.Height * percentHeight);
                //为了不使控件之间覆盖 位置也要按比例变化
                control.Left = (int)(control.Left * percentWidth);
                control.Top = (int)(control.Top * percentHeight);
            }*/
        }

        private void OutTable_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            //chubiao fr = new chubiao();
           
             bool bbz = false;
            for (int i = 0; i < this.xtraTabControl1.TabPages.Count; i++)
            {
                if (this.xtraTabControl1.TabPages[i].Text == "出表")
                {
                    this.xtraTabControl1.SelectedTabPageIndex=i;//TabPages[i].scou
                    bbz = true;
                    break;
                }
            }
            if (!bbz)
            {
                chubiao fr = new chubiao();//新窗体
                fr.m_mainform = this;
                DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
                page.Name = "OutTable";//定义name
                page.Text = "出表";//定义要显示的text
                fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
                fr.Dock = DockStyle.Fill;
                fr.Show();//显示form插窗体
                page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
                this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
                this.xtraTabControl1.SelectedTabPage = page;
            }
        }

        private void navBarItem8_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            anjianJCZPZ fr = new anjianJCZPZ();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "tab8";//定义name
            page.Text = "检测站信息设置";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Init_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Init fr = new Init();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Init";//定义name
            page.Text = "信息初始化";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void LimitZJ_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            ZJStands fr = new ZJStands();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "LimitZJ";//定义name
            page.Text = "综检限值";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void LimitHB_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            weiqistands fr = new weiqistands();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "LimitHB";//定义name
            page.Text = "环保限值";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;

        }
        public string surl;
        public string sjyjgbh;
        public string sSQM;
        public string slwcj;
        public string wkccName;
        public string wkccUrl;
        public string sjczname;
        public bool bwjpdajy = false;
        public bool sxb = false;

        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                string sql;
                sql = string.Format(@"Select * From xitongcanshupeizhi where xtpz_csmc='会话自动过期时间' ");
                Query mquery = new Query();
                int.TryParse(mquery.GetDBString(sql, "xtpz_csz"), out izdjshhsj);

                //Query mquery = new Query();
                string ssql;
                ssql = string.Format(@"Select * From StationInfor ");

                surl = mquery.GetDBString(ssql, "SI_WEB");
                sjyjgbh = mquery.GetDBString(ssql, "SI_JCZBH");
                sSQM = mquery.GetDBString(ssql, "SI_SQM");
                sjczname = mquery.GetDBString(ssql, "SI_NAME");
                slwcj = mquery.GetDBString(ssql, "SI_LWCJ");
                wkccName = mquery.GetDBString(ssql, "SI_wkcc");
                wkccUrl = mquery.GetDBString(ssql, "SI_wkccUrl");

                bwjpdajy = mquery.GetDBString(ssql, "SI_pdajy").ToUpper() == "TRUE";
                sxb = mquery.GetDBString(ssql, "SI_sxb").ToUpper() == "TRUE";
                //获取所有核心功能
                sql = string.Format(@"Select * From mokuaiquanxian where qx_hxgn='是'");
                DataTable dt = mquery.GetTable(sql);
                shxgn = "";

                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        shxgn = shxgn + dt.Rows[i]["qx_name"].ToString().Trim() + ",";
                    }
                }

                sql = string.Format(@"Select * From mokuaiquanxian where qx_hxgn='是'");
                dt = mquery.GetTable(sql);
                shxgn = "";
                sfjy = "";
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        shxgn = shxgn + dt.Rows[i]["qx_name"].ToString().Trim() + ",";
                    }
                }

                sql = string.Format(@"Select * From mokuaiquanxian where qx_jingyuan='是'");
                dt = mquery.GetTable(sql);

                sfjy = "";
                if (dt.Rows.Count > 0)
                {
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        sfjy = sfjy + dt.Rows[i]["qx_name"].ToString().Trim() + ",";
                    }
                }
                sql = string.Format(@"Select * From USERE where  NAME='{0}'", sname);
                var JSLX = "";
                JSLX = mquery.GetDBString(sql, "JSLX");
                jslx = JSLX;
                //需要改用户是否为警员
                SFMJ = "";
                SFMJ = mquery.GetDBString(sql, "SFMJ");
                sql = string.Format(@"Select * From juesequanxian where jsqx_jsmc='{0}' and jsqx_jslx='{1}' ", JSLX, yhjs);
                squanxian = mquery.GetDBString(sql, "jsqx_qx");
                //老用户表曲线设置
                string sqx = "";
                sqx = mquery.GetDBString(string.Format(@"select * from USERE where NAME='{0}'", sname), "JSLX");
                if (sqx.Contains("管理"))
                {
                    navBarItem1.Visible = true;
                }
                else
                {
                    navBarItem1.Visible = false;
                    navBarItem12.Visible = false;
                    navBarItem12.Visible = checkblock(sjczname, sjyjgbh, "收费管理");
                }

                if (sname.Contains("admin"))
                {
                     setmain();
                }

                timer1.Enabled = true;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }

        private void navBarItem13_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            weiqiReportsetting fr = new weiqiReportsetting();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "tab13";//定义name
            page.Text = "尾气报告单设置";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void DriverStatistics_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            DriverStatistics fr = new DriverStatistics();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "DriverStatistics";//定义name
            page.Text = "引车员统计";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void LimitAJ_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {

            LimitAJ fr = new LimitAJ();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "LimitAJ";//定义name
            page.Text = "安检限值";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void jcjgba_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            but_config fr = new but_config();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "jyjgxxxz18C01";//定义name
            page.Text = "备案信息";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void jcxxx_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            jianchexianxinxi18c02 fr = new jianchexianxinxi18c02();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "jianchexianxinxi18c02";//定义name
            page.Text = "检测线信息";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void jyxm_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            huoqujcxmxx18c46 fr = new huoqujcxmxx18c46();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "huoqujcxmxx18c46";//定义name
            page.Text = "检验项目";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void VehicleType_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            VehicleType fr = new VehicleType();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "VehicleType";//定义name
            page.Text = "车辆类型统计";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void TestCategories_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            TestCategories fr = new TestCategories();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "TestCategories";//定义name
            page.Text = "检测类别统计";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void TestItems_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            TestItems fr = new TestItems();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "TestItems";//定义name
            page.Text = "检验项目统计";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void area_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Area fr = new Area();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Area";//定义name
            page.Text = "区县统计";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void TestLine_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {

            TestLine fr = new TestLine();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "TestLine";//定义name
            page.Text = "检测线统计";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Danger_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Danger fr = new Danger();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Danger";//定义name
            page.Text = "客车&危险品车统计";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void vehicledata_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            vehicledata fr = new vehicledata();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "vehicledata";//定义name
            page.Text = "车辆数据统计";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void AddUsers_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            AddUsers fr = new AddUsers();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "AddUsers";//定义name
            page.Text = "新增用户";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void EditUser_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {

            EditUser fr = new EditUser("");//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "EditUser";//定义name
            page.Text = "编辑用户";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void RolePermissions_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            RolePermissions fr = new RolePermissions();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "RolePermissions";//定义name
            page.Text = "角色权限";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void PermissionsAttributes_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            PermissionsAttributes fr = new PermissionsAttributes();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "PermissionsAttributes";//定义name
            page.Text = "权限属性";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Threshold_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Threshold fr = new Threshold();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Threshold";//定义name
            page.Text = "阈值设置";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Resource_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Resource fr = new Resource();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Resource";//定义name
            page.Text = "资源控制";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void SystemParameters_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            SystemParameters fr = new SystemParameters();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "SystemParameters";//定义name
            page.Text = "系统参数";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Interface_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Interface fr = new Interface();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Interface";//定义name
            page.Text = "接口授权";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Configuration_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            //配置摄像头通道等  增加核心功能判断 lzj 问题
            Configuration fr = new Configuration();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "configuser";//定义name
            page.Text = "配置管理";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
           
        }

        private void TestCategory_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            TestCategory fr = new TestCategory();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "TestCategory";//定义name
            page.Text = "检测类别";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void OutInspection_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            OutInspection fr = new OutInspection(1);//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "OutInspection";//定义name
            page.Text = "外检项目";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void TimEsynchronous_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            TimEsynchronous fr = new TimEsynchronous();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "TimEsynchronous";//定义name
            page.Text = "时间同步";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Encryption_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            EncryptionForm fr = new EncryptionForm();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Encryption";//定义name
            page.Text = "加密";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void SecurityLog_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            SecurityLog fr = new SecurityLog();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "SecurityLog";//定义name
            page.Text = "登录日志";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void CoreFunction_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            CoreFunction fr = new CoreFunction();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "CoreFunction";//定义name
            page.Text ="核心功能日志";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void SecurityAudit_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            SecurityAudit fr = new SecurityAudit();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "SecurityAudit";//定义name
            page.Text = "安全日志";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Business_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Business fr = new Business();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Business";//定义name
            page.Text = "业务操作日志";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void ImportantData_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            ImportantData fr = new ImportantData();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "ImportantData";//定义name
            page.Text = "重要数据日志";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Audit_Security_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Audit_Security fr = new Audit_Security();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Audit_Security";//定义name
            page.Text = "安全审计";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Audit_Core_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Audit_Core fr = new Audit_Core();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Audit_Core";//定义name
            page.Text = "核心功能审计";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Audit_Management_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Audit_Management fr = new Audit_Management();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Audit_Management";//定义name
            page.Text = "审计管理";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Modify_Security_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Modify_Security fr = new Modify_Security();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Modify_Security";//定义name
            page.Text = "安全日志修改";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Modify_Core_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Modify_Core fr = new Modify_Core();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Modify_Core";//定义name
            page.Text = "核心功修改";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Security_activation_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Security_activation fr = new Security_activation("","");//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Security_activation";//定义name
            page.Text = "激活用户";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void personnel_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            personnel18C05 fr = new personnel18C05();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "personnel18C05";//定义name
            page.Text = "检测机构人员信息";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Business18C06_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Business18C06 fr = new Business18C06();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Business18C06";//定义name
            page.Text = "检测机构业务信息";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }
        public string sname="";
        public string jslx = "";
        private void MainForm_FormClosed(object sender, FormClosedEventArgs e)
        {
            baocundlrj(sname, "退出系统", "用户退出系统", "成功");

            Query mquery = new Query();
            string sql = string.Format(@" update USERE set SFYJDL='否'   where YHLB='{0}' ", sname);
            mquery.InsertDB(sql);

            updaterenshu();
        }
        public void updaterenshu()
        {
            Query mquery = new Query();
            string sql;
            sql = string.Format(@"Select * From dangqianzaixian  ");
            DataTable dt = mquery.GetTable(sql);
            if (dt.Rows.Count > 0)
            {

                int izzrs = 0;
                int.TryParse(dt.Rows[0]["dqzx_rs"].ToString().Trim(), out izzrs);
                sql = string.Format(@"update  dangqianzaixian set dqzx_rs='{0}' ", izzrs - 1);
            }
            if (!mquery.UpdateTable(sql))
            {
                MessageBox.Show("添加失败");
            }
        }

        private void Software_Version_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            guanyu fr = new guanyu();//新窗体
            fr.ShowDialog();
           
        }

        private void WriteLog_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            WriteLog fr = new WriteLog();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "WriteLog";//定义name
            page.Text = "写入类接口日志";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void QueryLog_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            QueryLog fr = new QueryLog();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "QueryLog";//定义name
            page.Text = "查询类接口日志";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void OperationLog_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {

            OperationLog fr = new OperationLog();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "OperationLog";//定义name
            page.Text = "操作日志";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void navBarItem1_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            jianceguocheng fr = new jianceguocheng();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "jianceguocheng";//定义name
            page.Text = "检测过程日志";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }
        private void errolog_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            ErroLog er = new ErroLog();//新窗体
            er.m_mainform = this;
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "OperationLog";//定义name
            page.Text = "操作日志";//定义要显示的text
            er.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            er.Dock = DockStyle.Fill;
            er.Show();//显示form插窗体
            page.Controls.Add(er);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void NormalOperation_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            NormalOperation fr = new NormalOperation();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "NormalOperation";//定义name
            page.Text = "非常规业务";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void juesequanxian_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {

            juesequanxian fr = new juesequanxian();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "juesequanxian";//定义name
            page.Text = "用户列表";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }
        public int izdjshhsj;//自动结束回话时间
        private struct LASTINPUTINFO
        {
            public uint cbSize;

            public uint dwTime;
        }
        LASTINPUTINFO lastInPut = new LASTINPUTINFO();
        [DllImport("User32.dll")]
        private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);

        private void timer1_Tick(object sender, EventArgs e)
        {
            lastInPut.cbSize = (uint)System.Runtime.InteropServices.Marshal.SizeOf(lastInPut);
            GetLastInputInfo(ref lastInPut);

            long noOperationTime = System.Environment.TickCount - lastInPut.dwTime;
          //  if (noOperationTime > izdjshhsj * 60 * 1000)
            if (noOperationTime >  10*60 * 1000)
            {
                //退出程序
                //timer1.Enabled = false;
                //MessageBox.Show("会话已过期，请重新登录");
                //this.Close();
            }
        }

        private void TerminalEquipment_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            TerminalEquipment fr = new TerminalEquipment();//新窗体
           
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "TerminalEquipment";//定义name
            page.Text = "设备终端管理";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void Department_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            department fr = new department();//新窗体

            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "department";//定义name
            page.Text = "部门管理";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        /// <summary>
        /// 是否为日期型字符串
        /// </summary>
        /// <param name="StrSource">日期字符串(2008-05-08)</param>
        /// <returns></returns>
        public  bool IsDate(string StrSource)
        {
            return System.Text.RegularExpressions.Regex.IsMatch(StrSource, @"^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-9]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$");
        }
        /// <summary>
        /// 是否为时间型字符串
        /// </summary>
        /// <param name="source">时间字符串(15:00:00)</param>
        /// <returns></returns>
        public  bool IsTime(string StrSource)
        {
            return System.Text.RegularExpressions.Regex.IsMatch(StrSource, @"^((20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d)$");
        }
        /// <summary>
        /// 是否为整数
        /// </summary>
        /// <param name="source">0-9</param>
        /// <returns></returns>
        public bool IsInt(string StrSource)//
        {
            return System.Text.RegularExpressions.Regex.IsMatch(StrSource, @"^[0-9]\d*$"); 
        }

        

        private void TestTime_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            TestTime fr = new TestTime();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "TestTime";//定义name
            page.Text = "检测项目时间";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void navBarItem1_LinkClicked_1(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            用户身份.人员管理 obj = new 用户身份.人员管理();
            obj.ShowDialog();
        }

        private void navBarItem5_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {

            系统设置.摩托车设置 fr = new 系统设置.摩托车设置();//新窗体
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "MOTUOCHESHEZHI";//定义name
            page.Text = "摩托车设置";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }
        private void PhotoAll_Click(object sender, EventArgs e)
        {
            //PhotoAll fr = new PhotoAll();//新窗体
            //fr.m_mainform = this;
            ////fr.ShowDialog();
            //DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            //page.Name = "TestTime";//定义name
            //page.Text = "检测项目时间";//定义要显示的text
            //fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            //fr.Dock = DockStyle.Fill;
            //fr.Show();//显示form插窗体
            //page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            //this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            //this.xtraTabControl1.SelectedTabPage = page;
        }

        private void navBarItem6_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Query mquery = new Query();
            try { mquery.InsertDB(string.Format("alter table AUTO alter COLUMN AT_CCCS  nvarchar(500)")); }
            catch { }

            try { mquery.InsertDB(string.Format("alter table WriteLog alter COLUMN jyxm  nvarchar(100)")); }
            catch { }

            try { mquery.InsertDB(string.Format("alter table StationInfor add Standard  char(20)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table StationInfor add SI_DPD  bit")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table StationInfor add SI_sxb  bit")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table StationInfor add SI_ycyzl  char(20)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table StationInfor add SI_wkcc  nvarchar(20)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table StationInfor add SI_wkccUrl  nvarchar(500)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table StationInfor add SI_rgpd  bit")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table PD_ZJ add PD_PJ  nvarchar(MAX)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table PD_AJ add PD_PJ  char(50)")); }
            catch { }

            try { mquery.InsertDB(string.Format("alter table WJXM add WGXM_VIN  image")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table WJXM add WGXM_Q  image")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table WJXM add WGXM_H  image")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table WJXM add WGXM_DP  image")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table WJXM add WGXM_BGD  image")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table WJXM add WGXM_HGZ  image")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table WJXM add WGXM_XSZ  image")); }
            catch { }//综检外检

            try { mquery.InsertDB(string.Format("alter table WJ add WJ_Printing char (10)")); }
            catch { }

            try { mquery.InsertDB(string.Format("alter table AUTO add AT_KQXJZ  char (10)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table AUTO add AT_DZSS  Bit")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table AUTO add AT_ZCHPHM  char (20)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table AUTO add AT_ZCZBZL  char (20)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table AUTO add AT_WBZL  char (50)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table AUTO add AT_XFDJH  char (50)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table AUTO add AT_XFDJXH  char (50)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table AUTO add AT_XFDJCCBH  char (50)")); }
            catch { }//38900信息

            try { mquery.InsertDB(string.Format("alter table Detects_SJA add DET_WKCCC_RGFJ  char (10)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table Detects_SJA add DET_WKCCK_RGFJ  char (10)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table Detects_SJA add DET_WKCCG_RGFJ  char (10)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table Detects_SJA add DET_WKCC_RGFJ  Bit")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table Detects_SJA add DET_XFDJH  char (50)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table Detects_SJA add DET_XFDJXH  char (50)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table Detects_SJA add DET_XFDJCCBH  char (50)")); }
            catch { }//38900需求

            try { mquery.InsertDB(string.Format("alter table Detects_SJB add DET_JZBRIKECS1  char (10)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table Detects_SJB add DET_JZBRIKECS2  char (10)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table Detects_SJB add DET_JZBRIKECS3  char (10)")); }
            catch { }
            try { mquery.InsertDB(string.Format("alter table Detects_SJB add DET_JZBRIKECS4  char (10)")); }
            catch { }
            updatetable(string.Format(@"CREATE TABLE [dbo].[table_scdw](
	[table_1] [char](100) NULL,
	[table_2] [char](100) NULL
) ON [PRIMARY]"));

            updatetable(string.Format(@"Alter table Detects_SJA add DET_wgjcxm varchar(MAX)"));


            updatetable(string.Format(@"alter table Detects_SJA add DET_BSLTJ  bit"));
            updatetable(string.Format(@"alter table Detects_SJA add DET_BWEIGHT  bit"));
            updatetable(string.Format(@"alter table Picture_AJ add zptime  datetime"));

            updatetable(string.Format(@"alter table StationInfor add SI_MotoJCXLB  varchar (10)"));
            updatetable(string.Format(@"alter table StationInfor add SI_QicheJCXLB  varchar (10)"));
            updatetable(string.Format(@"alter table StationInfor add SI_MotoNetworking  bit"));//SI_MotoNetworking
            updatetable(string.Format(@"alter table Detects_SJA add DET_FINISH  bit"));//DET_FINISH
            updatetable(string.Format(@"alter table PDATable add remark   nvarchar(MAX)"));//DET_FINISH    
            updatetable(string.Format(@"alter table Detects_SJA add DET_LOGINNET  bit"));//DET_FINISH         
            updatetable(string.Format(@"alter table ZPZL add remark   nvarchar(MAX)"));//DET_FINISH    
            updatetable(string.Format(@"CREATE TABLE [dbo].[WJ](
	[DETECT_ID] [int] NOT NULL,
	[WJ_lwcx_ssqk] [char](50) NULL,
	[WJ_lwcx_qt] [char](50) NULL,
	[WJ_lwcx_jl] [int] NULL,
	[WJ_wyx_hphm] [int] NULL,
	[WJ_wyx_clpp] [int] NULL,
	[WJ_wyx_cjh] [int] NULL,
	[WJ_wyx_fdjh] [int] NULL,
	[WJ_wyx_csys] [int] NULL,
	[WJ_tzcs_wkcc] [int] NULL,
	[WJ_tzcs_zj] [int] NULL,
	[WJ_tzcs_hzrs] [int] NULL,
	[WJ_tzcs_lbgd] [int] NULL,
	[WJ_tzcs_xj] [int] NULL,
	[WJ_tzcs_kcck] [int] NULL,
	[WJ_tzcs_kcyd] [int] NULL,
	[WJ_tzcs_hx] [int] NULL,
	[WJ_wgjc_wg] [int] NULL,
	[WJ_wgjc_wgbs] [int] NULL,
	[WJ_wgjc_wbzm] [int] NULL,
	[WJ_wgjc_lt] [int] NULL,
	[WJ_wgjc_hp] [int] NULL,
	[WJ_wgjc_jz] [int] NULL,
	[WJ_aqzz_aqd] [int] NULL,
	[WJ_aqzz_yjfj] [int] NULL,
	[WJ_aqzz_mhq] [int] NULL,
	[WJ_aqzz_xsjlzz] [int] NULL,
	[WJ_aqzz_fgbs] [int] NULL,
	[WJ_aqzz_wbbz] [int] NULL,
	[WJ_aqzz_fh] [int] NULL,
	[WJ_aqzz_yjc] [int] NULL,
	[WJ_aqzz_jjx] [int] NULL,
	[WJ_aqzz_xszz] [int] NULL,
	[WJ_aqzz_fbzz] [int] NULL,
	[WJ_aqzz_fzzz] [int] NULL,
	[WJ_aqzz_pszd] [int] NULL,
	[WJ_aqzz_jxzz] [int] NULL,
	[WJ_aqzz_qdzz] [int] NULL,
	[WJ_aqzz_jcmhzz] [int] NULL,
	[WJ_aqzz_ddkg] [int] NULL,
	[WJ_aqzz_fzdtb] [int] NULL,
	[WJ_aqzz_xcbzp] [int] NULL,
	[WJ_aqzz_whcbz] [int] NULL,
	[WJ_aqzz_glss] [int] NULL,
	[WJ_aqzz_cjrfz] [int] NULL,
	[WJ_dpdt_zx] [int] NULL,
	[WJ_dpdt_cd] [int] NULL,
	[WJ_dpdt_zd] [int] NULL,
	[WJ_dpdt_yq] [int] NULL,
	[WJ_dpbj_zx] [int] NULL,
	[WJ_dpbj_cd] [int] NULL,
	[WJ_dpbj_xs] [int] NULL,
	[WJ_dpbj_zd] [int] NULL,
	[WJ_dpbj_qt] [int] NULL,
	[WJ_bhgxm1] [char](50) NULL,
	[WJ_bhgxm2] [char](50) NULL,
	[WJ_qtcs_wkcc] [char](50) NULL,
	[WJ_qtcs_zj] [char](50) NULL,
	[WJ_hwsd_dczxl] [char](50) NULL,
	[WJ_hwsd_dcqtl] [char](50) NULL,
	[WJ_hwsd_gc] [char](50) NULL,
	[WJ_hwsdjl] [int] NULL,
	[WJ_bwgdc_dcqz] [char](50) NULL,
	[WJ_bwgdc_dcqy] [char](50) NULL,
	[WJ_bwgdc_dcqgdc] [char](50) NULL,
	[WJ_bwgdc_dchz] [char](50) NULL,
	[WJ_bwgdc_dchy] [char](50) NULL,
	[WJ_bwgdc_dchgdc] [char](50) NULL,
	[WJ_bwgdc_gcz] [char](50) NULL,
	[WJ_bwgdc_gcy] [char](50) NULL,
	[WJ_bwgdc_gcgdc] [char](50) NULL,
	[WJ_bwgdcjl] [int] NULL,
	[WJ_cxlbg_dc] [char](50) NULL,
	[WJ_cxlbg_gc] [char](50) NULL,
	[WJ_cxlbgjl] [int] NULL,
	[WJ_fxpzdl] [char](50) NULL,
	[WJ_fxpzdljl] [int] NULL,
	[WJ_wgjy] [char](50) NULL,
	[WJ_dtjy] [char](50) NULL,
	[WJ_dpjy] [char](50) NULL,
	[WJ_ycyjy] [char](50) NULL,
	[WJ_bz] [nvarchar](max) NULL,
 CONSTRAINT [PK_WJ] PRIMARY KEY CLUSTERED 
(
	[DETECT_ID] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]"));//DET_FINISH      
            updatetable(string.Format(@"alter table StationInfor add SI_pdajy  bit"));//DET_FINISH  
            updatetable(string.Format(@"CREATE TABLE [dbo].[jylsh](
 [jylsh_id] [int] IDENTITY(1,1) NOT NULL,
 [jylsh_date] [nchar](30) NULL,
 [jylsh_NO] [int] NULL,
 CONSTRAINT [PK_jylsh] PRIMARY KEY CLUSTERED 
(
 [jylsh_id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]"));//DET_FINISH 
            updatetable(string.Format(@"alter table Detects_SJA add DET_BExamine  bit"));//DET_FINISH  
            updatetable(string.Format(@"alter table StationInfor add SI_bhgdy  bit"));//DET_FINISH  
            updatetable(string.Format(@"alter table StationInfor add SI_bptcsyz  bit"));
            try { mquery.InsertDB(string.Format("alter table PD_AJ add PD_WKCCRG  nvarchar(MAX)")); }
            catch { }
            updatetable(string.Format(@"alter table AUTO add AT_KQXJZW  char (20)"));
            updatetable(string.Format(@"alter table PD_AJ add PD_BZ1  nvarchar(MAX)"));
            updatetable(string.Format(@"alter table PD_AJ add PD_BZ2  nvarchar(MAX)"));
            updatetable(string.Format(@"alter table PD_AJ add jianyi  nvarchar(MAX)"));
            updatetable(string.Format(@"CREATE TABLE [dbo].[Unqualified](
	[unqualified_id] [int] IDENTITY(1,1) NOT NULL,
	[unqualified_type] [nvarchar](20) NULL,
	[unqualified_name] [nvarchar](max) NULL
) ON [PRIMARY]"));
            updatetable(string.Format(@"alter table WJ add  WJ_bzlwcx  nvarchar(MAX)"));
            updatetable(string.Format(@"alter table WJ add  WJ_bzwyx  nvarchar(MAX)"));
            updatetable(string.Format(@"alter table WJ add  WJ_bztzcs  nvarchar(MAX)"));
            updatetable(string.Format(@"alter table WJ add  WJ_bzwgjc  nvarchar(MAX)"));
            updatetable(string.Format(@"alter table WJ add  WJ_bzdpdt  nvarchar(MAX)"));
            updatetable(string.Format(@"alter table WJ add  WJ_bzdpbj  nvarchar(MAX)"));
            updatetable(string.Format(@"alter table AUTO add AT_ZGCS  char (20)"));
            updatetable(string.Format(@"CREATE TABLE [dbo].[table_AP](
	[AP_id] [int] IDENTITY(1,1) NOT NULL,
	[AP_Item_number] [int] NULL,
	[AP_Item] [varchar](max) NULL,
	[AP_subitem_number] [int] NULL,
	[AP_subitem] [varchar](max) NULL,
	[AP_detail_number] [int] NULL,
	[AP_detail] [varchar](max) NULL
) ON [PRIMARY]"));
            updatetable(string.Format(@"alter table StationInfor add  SI_byygn  bit"));//取消
            updatetable(string.Format(@"CREATE TABLE [dbo].[table_yy](
	[yy_id] [int] IDENTITY(1,1) NOT NULL,
	[yy_hphm] [nchar](30) NULL,
	[yy_hpzl] [nchar](10) NULL,
	[yy_zt] [nchar](20) NULL,
	[yy_jg] [nchar](20) NULL
) ON [PRIMARY]"));
            updatetable(string.Format(@"CREATE TABLE [dbo].[FunctionalBlock](
	[ST_id] [int] IDENTITY(1,1) NOT NULL,
	[ST_name] [nvarchar](max) NULL,
	[ST_number] [nvarchar](20) NULL,
	[ST_block] [nchar](10) NULL,
	[ST_zt] [bit] NULL
) ON [PRIMARY]"));


            updatetable(string.Format(@"alter table luxiangjieshu alter column hpzl char(50)"));
            updatetable(string.Format(@"alter table luxiangkaishi alter column hpzl char(50)"));
            updatetable(string.Format(@"alter table xianneizhaopian alter column hpzl char(50)"));
            updatetable(string.Format(@"alter table USERE add  DrivingLicense  nvarchar(10)"));
            updatetable(string.Format(@"alter table USERE add  tizhong  varchar(50)"));
            updatetable(string.Format(@"alter table PhotoChannel alter column channel_sbbh char(50)"));

            updatetable(string.Format(@"Alter table Detects_SJA add  DET_SFFS nchar(50)"));//都匀汽运收费字段
            updatetable(string.Format(@"alter table Detects_SJA add  DET_SFKP nchar(50)"));
            updatetable(string.Format(@"alter table Detects_SJA add  DET_JZDW nchar(50)"));
            updatetable(string.Format(@"alter table Detects_SJA add  DET_SFJE nchar(50)"));
            updatetable(string.Format(@"alter table Detects_SJA add  DET_KPRQ datetime"));
            updatetable(string.Format(@"alter table Detects_SJA add  DET_BH   nchar(50)"));
            updatetable(string.Format(@"alter table Detects_SJA add  DET_SFXM nchar(50)"));
            updatetable(string.Format(@"CREATE TABLE [dbo].[table_jzdw](
	                                    [table_1] [char](100) NULL,
	                                    [table_2] [char](100) NULL
                                    ) ON [PRIMARY]"));//


            updatetable(string.Format(@"alter table Detects_SJB add  DET_ZLBSDS1  int"));
            updatetable(string.Format(@"alter table Detects_SJB add  DET_ZLBSDS2  int"));
            updatetable(string.Format(@"alter table Detects_SJB add  DET_ZLBSDS3  int"));
            updatetable(string.Format(@"alter table Detects_SJB add  DET_ZLBSDS4  int"));
            updatetable(string.Format(@"alter table Detects_SJB add  DET_ZLBSDS5  int"));

            updatetable(string.Format(@"alter table Detects_SJB add  DET_YLBSDS1  int"));
            updatetable(string.Format(@"alter table Detects_SJB add  DET_YLBSDS2  int"));
            updatetable(string.Format(@"alter table Detects_SJB add  DET_YLBSDS3  int"));
            updatetable(string.Format(@"alter table Detects_SJB add  DET_YLBSDS4  int"));
            updatetable(string.Format(@"alter table Detects_SJB add  DET_YLBSDS5  int"));
            updatetable(string.Format(@"alter table StationInfor add  SI_same  bit"));


            updatetable(string.Format(@"CREATE TABLE [dbo].[Archives](
	[archives_id] [int] IDENTITY(1,1) NOT NULL,
	[archives_hphm] [nchar](30) NULL,
	[archives_hpzl] [nchar](30) NULL,
	[archives_number] [nvarchar](10) NULL) ON [PRIMARY] "));

            updatetable(string.Format(@"CREATE TABLE [dbo].[preview](
	[preview_id] [int] IDENTITY(1,1) NOT NULL,
	[preview_name] [varchar](50) NULL,
	[preview_type] [varchar](50) NULL,
	[preview_mark] [varchar](max) NULL,
	[preview_control] [varchar](50) NULL,
	[preview_sqlbs] [varchar](50) NULL
    ) ON [PRIMARY]"));//预检表

            updatetable(string.Format(@"CREATE TABLE [dbo].[preview_data](
	[preview_id] [int] IDENTITY(1,1) NOT NULL,
	[preview_hphm] [varchar](50) NULL,
	[preview_hpzl] [varchar](50) NULL,
	[preview_jylb] [varchar](50) NULL,
	[preview_result] [varchar](max) NULL,
	[preview_date] [datetime] NULL,
	[preview_Printing] [nchar](10) NULL,
    [preview_yjy] [nchar](50) NULL,
    [preview_lsh] [nchar](50) NULL
) ON [PRIMARY]"));//预检表

            updatetable(string.Format(@"CREATE TABLE [dbo].[waijianzp](
	[id] [int] IDENTITY(1,1) NOT NULL,
	[cllx] [varchar](500) NULL,
	[zpbh] [varchar](max) NULL,
	[zpname] [varchar](max) NULL
) ON [PRIMARY]"));//预检表


            try { mquery.InsertDB(string.Format("alter table AUTO alter COLUMN AT_SYXZ  nvarchar(500)")); }
            catch { }

            MessageBox.Show("升级数据库完成");
        }

        public void updatetable(string sql)
        {
            try
            {
                Query mquery = new Query();
                mquery.InsertDB(sql);
            }
            catch (Exception)
            {

            }
           
        }

        public void getProcessfinish(string ID, string bgxm, string jylsh)
        {
            string sql = string.Format(@"select * from Detects_SJA where DETECT_ID='{0}'", ID);
            Query mquery = new Query();
            DataTable dt = mquery.GetTable(sql);
            if (dt.Rows.Count > 0)
            {
                string bhege = dt.Rows[0]["DET_EJYXM"].ToString().Trim();
                if ((bhege + "").Length > 1)
                {
                    if (!bhege.Contains(bgxm))
                    {
                        bhege = bhege + bgxm + ",";
                    }
                }
                else
                {
                    bhege = bgxm + ",";
                }
                sql = string.Format(@"update Detects_SJA set DET_EJYXM='{0}' where DETECT_ID='{1}' ", bhege, ID);
                mquery.InsertDB(sql);

                if (LastProcessnew(ID))
                {
                    WebReference.Service objweb = new WebReference.Service();
                    objweb.Url = surl;
                    string msg = objweb.sendAJend(jylsh, false);
                }
            }

        }

        bool LastProcessnew(string id)
        {
            bool zt = false;
            string[] xm;
            string[] xmfinish;
            string sql = string.Format(@"SELECT * from AUTO,Detects_SJA where AUTO.AT_ID=Detects_SJA.AT_ID and Detects_SJA.DETECT_ID='{0}'", id);
            Query mquery = new Query();
            DataTable dt = mquery.GetTable(sql);
            if (dt.Rows.Count > 0)
            {
                string sbjyxms = dt.Rows[0]["DET_BJYXM"].ToString().Trim();
                sbjyxms = sbjyxms.Replace("F1,", "").Replace("DC,", "").Replace("DLX,", "").Replace("RYJJX,", "").Replace("XJ,", "").Replace("SJ,", "").Replace("ASM,", "").Replace("SDS,", "").Replace("ZYJS,", "").Replace("LUG,", "");
                xm = sbjyxms.Split(',');
                xmfinish = dt.Rows[0]["DET_EJYXM"].ToString().Trim().Split(',');
                var differ = xm.Where(c => !xmfinish.Contains(c)).ToArray();
                if (differ.Length > 0)
                {
                    zt = false;
                }
                else
                {
                    zt = true;
                }
            }
            return zt;
        }

        private void navBarItem9_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            系统设置.APreason fr = new 系统设置.APreason();
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "APreason";//定义name
            page.Text = "外检项目不合格维护";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void navBarItem10_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            if (sjczname.Trim().Length < 1 || sjyjgbh.Trim().Length < 1)
            {
                MessageBox.Show("检测站名称和检测站编号都会空");
            }
            else
            {
                系统设置.FunctionalTable fr = new 系统设置.FunctionalTable(sjczname.Trim(), sjyjgbh.Trim());
                //fr.ShowDialog();
                DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
                page.Name = "FunctionalTable";//定义name
                page.Text = "检测站模块管理";//定义要显示的text
                fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
                fr.Dock = DockStyle.Fill;
                fr.Show();//显示form插窗体
                page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
                this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
                this.xtraTabControl1.SelectedTabPage = page;
            }
        }

        public  bool checkblock(string sjczname,string sjcznuber,string sblock)
        {
            bool bzt = false;
            Query quer = new Query();
            string sql = string.Format(@"select * from FunctionalBlock where ST_name='{0}' and ST_number='{1}'and ST_block='{2}'",
                quer.EncodeBase64("utf-8", sjczname), sjcznuber, sblock);
            bool.TryParse(quer.GetDBString(sql, "ST_zt"), out bzt);
            return bzt;
        }

        public void setmain()
        {
            navBarGroup1.Visible = false;
            navBarGroup2.Visible = false;
            navBarGroup4.Visible = false;
            navBarGroup3.Visible = false;
            navBarGroup7.Visible = false;
            navBarGroup8.Visible = false;
            log.Visible = false;
            navBarGroup9.Visible = false;
            navBarGroup10.Visible = false;
            navBarGroup11.Visible = false;
            navBarGroup12.Visible = false;
        }

        private void navBarItem10_LinkClicked_1(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            系统设置.Preview fr = new 系统设置.Preview();
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Preview";//定义name
            page.Text = "预检维护界面";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void navBarItem12_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            Chargemanagement fr = new Chargemanagement();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "Chargemanagement";//定义name
            page.Text = "收费管理";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

        private void navBarControl1_MouseUp(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                DevExpress.XtraNavBar.NavBarControl navBar = sender as DevExpress.XtraNavBar.NavBarControl;
                DevExpress.XtraNavBar.NavBarHitInfo hitInfo = navBar.CalcHitInfo(new Point(e.X, e.Y));
                if (hitInfo.InGroupCaption && !hitInfo.InGroupButton)
                    hitInfo.Group.Expanded = !hitInfo.Group.Expanded;
            }
        }

        private void navBarItem14_LinkClicked(object sender, DevExpress.XtraNavBar.NavBarLinkEventArgs e)
        {
            系统设置.waijianpeizhiadd fr = new 系统设置.waijianpeizhiadd();//新窗体
            fr.m_mainform = this;
            //fr.ShowDialog();
            DevExpress.XtraTab.XtraTabPage page = new DevExpress.XtraTab.XtraTabPage();//实例化一个XtraTabPage的页面
            page.Name = "waijianzp";//定义name
            page.Text = "外检照片设置";//定义要显示的text
            fr.TopLevel = false;//这个挺重要的，没设置这个属性的话form窗体在就直接跳到在上层去了
            fr.Dock = DockStyle.Fill;
            fr.Show();//显示form插窗体
            page.Controls.Add(fr);//在page页面添加一个控件，这里就是form窗体
            this.xtraTabControl1.TabPages.Add(page);//最后把我们新建的page页面加到xtraTabControl控件中去
            this.xtraTabControl1.SelectedTabPage = page;
        }

    }
}
